var prefix = ctx + "system/user";
var $,layer;

layui.use(['table', 'form', 'tree', 'layer', 'jquery'], function () {
    var form = layui.form;
    var tree = layui.tree;
    var table = layui.table;
    $ = layui.$;
    layer = parent.layer === undefined ? layui.layer : top.layer;


    $(function () {
        queryDeptTree();
        initUserTable();
    });

    /**
     * 组织树
     */
    function queryDeptTree() {
        var url = ctx + "system/dept/treeNodeData";
        $.getJSON(url, function (data) {
            tree.render({
                id: 'orgTree',
                elem: '#orgTree',
                data: data,
                onlyIconControl: true,  //是否仅允许节点左侧图标控制展开收缩
                click: function (obj) {
                    table.reload('userList',{
                        page: {
                            curr: 1 //重新从第 1 页开始
                        },
                        where: {
                            deptId: obj.data.id
                        }
                    });
                }
            });
        });
    }

    /**
     * 初始化表格
     */
    function initUserTable() {
        table.render({
            id: 'userList',
            elem: '#userList',
            method: 'POST',
            url: prefix + "/list",
            toolbar: '#toolbarUser',
            title: '用户数据表',
            cols: [[
                {type: 'checkbox', fixed: 'left'},
                {type: 'numbers', fixed: 'left', title: '序号'},
                {field: 'userId', title: 'userId', hide: true},
                {field: 'loginName', title: '登录名称'},
                {field: 'userName', title: '用户名'},
                {field: 'email', title: '邮箱'},
                {
                    field: 'sex', title: '性别', width: 80, sort: true, templet: function (d) {
                        var sexStr;
                        switch (d) {
                            case '0' : sexStr = '男'; break;
                            case '1' : sexStr = '女'; break;
                            default: sexStr = '未知';
                        }
                        return sexStr;
                    }
                },
                {field: 'phonenumber', title: '手机号码'},
                {
                    field: 'status', title: '帐号状态', align: 'center', templet: function (row) {
                        if (row.status == 1) {
                            return '<span> <i class=\"layui-icon\">&#x1007;</i>停用</span>';
                        } else {
                            return '<span> <i class=\"layui-icon\">&#x1005;</i>正常</span>';
                        }
                    }
                },
                {field: 'loginIp', title: '最后登陆IP', width: 120},
                {fixed: 'right', title: '操作', toolbar: '#barUser', width: 130}
            ]],
            page: true,
            request: {
                pageName: 'pageNum' //页码的参数名称，默认：page
                ,limitName: 'pageSize' //每页数据量的参数名，默认：limit
            },
            parseData: function (res) { //res 即为原始返回的数据
                return {
                    "code": res.code, //解析接口状态
                    "msg": '加载中。。。', //解析提示文本
                    "count": res.total, //解析数据长度
                    "data": res.rows     //解析数据列表
                };
            }
        });
    }
    //头工具栏事件
    table.on('toolbar(userList)', function (obj) {
        var checkStatus = table.checkStatus(obj.config.id);
        switch (obj.event) {
            case 'search':
                table.reload("userList",{
                    page: {
                        curr: 1 //重新从第 1 页开始
                    },
                    where: {
                        userName: $(".searchValue").val()
                    }
                });
                break;
            case 'addUser':
                var data = checkStatus.data;
                addUser(data);
                break;
            case 'delBatchBtn':
                delBatch();
                break;
        }
    });

    //监听行工具事件
    table.on('tool(userList)', function (obj) {
        var data = obj.data;
        //console.log(obj)
        if (obj.event === 'del') {
            layer.confirm('真的删除行么', function (index) {
                obj.del();
                layer.close(index);
            });
        } else if (obj.event === 'edit') {
            layer.prompt({
                formType: 2
                , value: data.email
            }, function (value, index) {
                obj.update({
                    email: value
                });
                layer.close(index);
            });
        }
    });

    //添加用户
    function addUser(edit) {
        var index = layui.layer.open({
            title: "添加用户",
            type: 2,
            content: prefix + "/add",
            success: function (layero, index) {
                var body = layui.layer.getChildFrame('body', index);
                if (edit) {
                    body.find(".userName").val(edit.userName);  //登录名
                    body.find(".userEmail").val(edit.userEmail);  //邮箱
                    body.find(".userSex input[value=" + edit.userSex + "]").prop("checked", "checked");  //性别
                    body.find(".userGrade").val(edit.userGrade);  //会员等级
                    body.find(".userStatus").val(edit.userStatus);    //用户状态
                    body.find(".userDesc").text(edit.userDesc);    //用户简介
                    form.render();
                }
                setTimeout(function () {
                    layui.layer.tips('点击此处返回用户列表', '.layui-layer-setwin .layui-layer-close', {
                        tips: 3
                    });
                }, 500)
            }
        });
        layui.layer.full(index);
        window.sessionStorage.setItem("index",index);
        //改变窗口大小时，重置弹窗的宽高，防止超出可视区域（如F12调出debug的操作）
        $(window).on("resize",function(){
            layui.layer.full(window.sessionStorage.getItem("index"));
        })
    }

    function delBatch() {
        var checkStatus = table.checkStatus('userList'),
            data = checkStatus.data,
            newsId = [];
        if(data.length > 0) {
            for (var i in data) {
                newsId.push(data[i].newsId);
            }
            layer.confirm('确定删除选中的用户？', {icon: 3, title: '提示信息'}, function (index) {
                // $.get("删除文章接口",{
                //     newsId : newsId  //将需要删除的newsId作为参数传入
                // },function(data){
                table.reload();
                layer.close(index);
                // })
            })
        }else{
            layer.msg("请选择需要删除的用户");
        }
    }
});
/** 用户管理-停用 **/
function disable(userId) {
    layer.confirm("确认要停用用户吗？", function () {
        $.operate.post(prefix + "/changeStatus", {"userId": userId, "status": 1});
    })
}

/** 用户管理启用 **/
function enable(userId) {
    layer.confirm("确认要启用用户吗？", function () {
        $.operate.post(prefix + "/changeStatus", {"userId": userId, "status": 0});
    })
}